package com.tsd.wxpay.entity;


import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.Date;

/**
 * 微信支付通知日志表
 *
 * @author Hillpool
 * @date 2022/07/14 11:04:10
 */
@ApiModel(description = "微信支付通知日志表")
public class WeixinPayNotifyLog implements Serializable {

    @ApiModelProperty(value = "自动增长的数字序号", example = "1")
    private Long id;

    @ApiModelProperty(value = "业务类型", example = "1")
    private String biz_type;

    @ApiModelProperty(value = "业务sid", example = "1")
    private String biz_sid;

    @ApiModelProperty(value = "创建时间", example = "1")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh", timezone = "GMT+8")
    private Date create_date;

    @ApiModelProperty(value = "代理商id", example = "1")
    private String agent_info_id;

    @ApiModelProperty(value = "代理商name", example = "1")
    private String agent_info_name;

    @ApiModelProperty(value = "用户标识", example = "1")
    private String open_id;

    @ApiModelProperty(value = "是否关注公众账号", example = "1")
    private String is_subscribe;

    @ApiModelProperty(value = "用户子标识", example = "1")
    private String sub_open_id;

    @ApiModelProperty(value = "是否关注子公众账号", example = "1")
    private String sub_is_subscribe;

    @ApiModelProperty(value = "应用ID", example = "1")
    private String app_id;

    @ApiModelProperty(value = "服务商模式下的子公众账号ID", example = "1")
    private String sub_app_id;

    @ApiModelProperty(value = "商户号", example = "1")
    private String mch_id;

    @ApiModelProperty(value = "服务商模式下的子商户号", example = "1")
    private String sub_mch_id;

    @ApiModelProperty(value = "商户订单号", example = "1")
    private String out_trade_no;

    @ApiModelProperty(value = "微信支付订单号", example = "1")
    private String transaction_id;

    @ApiModelProperty(value = "交易类型：JSAPI-公众号支付、NATIVE-扫码支付、APP-APP支付、MICROPAY-付款码支付、MWEB-H5支付、FACEPAY-刷脸支付", example = "1")
    private String trade_type;

    @ApiModelProperty(value = "交易状态：SUCCESS：支付成功、REFUND：转入退款、NOTPAY：未支付、CLOSED：已关闭、REVOKED：已撤销（仅付款码支付会返回）、USERPAYING：用户支付中（仅付款码支付会返回）、PAYERROR：支付失败（仅付款码支付会返回）", example = "1")
    private String trade_state;

    @ApiModelProperty(value = "交易状态描述", example = "1")
    private String trade_state_desc;

    @ApiModelProperty(value = "付款银行", example = "1")
    private String bank_type;

    @ApiModelProperty(value = "附加数据", example = "1")
    private String attach;

    @ApiModelProperty(value = "总金额", example = "1")
    private Integer total_fee;

    @ApiModelProperty(value = "货币种类", example = "1")
    private String fee_type;

    @ApiModelProperty(value = "现金支付金额", example = "1")
    private Integer cash_fee;

    @ApiModelProperty(value = "现金支付货币类型", example = "1")
    private String cash_fee_type;

    @ApiModelProperty(value = "应结订单金额", example = "1")
    private Integer settlement_total_fee;

    @ApiModelProperty(value = "代金券金额", example = "1")
    private Integer coupon_fee;

    @ApiModelProperty(value = "代金券使用数量", example = "1")
    private Integer coupon_count;

    @ApiModelProperty(value = "代金券列表json", example = "1")
    private String coupon_list_json;

    @ApiModelProperty(value = "营销详情", example = "1")
    private String promotion_detail;

    @ApiModelProperty(value = "预支付交易会话标识", example = "1")
    private String prepay_id;

    @ApiModelProperty(value = "支付时间", example = "1")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh", timezone = "GMT+8")
    private Date paid_date;

    @ApiModelProperty(value = "支付完成时间", example = "1")
    private String time_end;

    @ApiModelProperty(value = "汇率", example = "1")
    private String rate_value;

    @ApiModelProperty(value = "随机字符串", example = "1")
    private String nonce_str;

    @ApiModelProperty(value = "签名类型：HMAC-SHA256、MD5，默认为MD5", example = "1")
    private String sign_type;

    @ApiModelProperty(value = "签名", example = "1")
    private String sign;

    @ApiModelProperty(value = "设备号：微信支付分配的终端设备号", example = "1")
    private String device_info;

    @ApiModelProperty(value = "链接：Native支付时为二维码链接，H5支付时为支付跳转链接", example = "1")
    private String url;

    @ApiModelProperty(value = "业务结果：SUCCESS/FAIL", example = "1")
    private String result_code;

    @ApiModelProperty(value = "返回状态码：SUCCESS/FAIL", example = "1")
    private String return_code;

    @ApiModelProperty(value = "返回信息", example = "1")
    private String return_msg;

    @ApiModelProperty(value = "错误代码", example = "1")
    private String err_code;

    @ApiModelProperty(value = "错误代码描述", example = "1")
    private String err_code_des;

    @ApiModelProperty(value = "钩子更新状态，支付完毕后根据订单信息执行相应的更新", example = "1")
    private Integer hook_update;

    @ApiModelProperty(value = "是否对账：0-否、1-是", example = "1")
    private Integer is_reconciliation;


    public Long getId() {
        return this.id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getBiz_type() {
        return this.biz_type;
    }

    public void setBiz_type(String biz_type) {
        this.biz_type = biz_type;
    }

    public String getBiz_sid() {
        return this.biz_sid;
    }

    public void setBiz_sid(String biz_sid) {
        this.biz_sid = biz_sid;
    }

    public Date getCreate_date() {
        return this.create_date;
    }

    public void setCreate_date(Date create_date) {
        this.create_date = create_date;
    }

    public String getAgent_info_id() {
        return this.agent_info_id;
    }

    public void setAgent_info_id(String agent_info_id) {
        this.agent_info_id = agent_info_id;
    }

    public String getAgent_info_name() {
        return this.agent_info_name;
    }

    public void setAgent_info_name(String agent_info_name) {
        this.agent_info_name = agent_info_name;
    }

    public String getOpen_id() {
        return this.open_id;
    }

    public void setOpen_id(String open_id) {
        this.open_id = open_id;
    }

    public String getIs_subscribe() {
        return this.is_subscribe;
    }

    public void setIs_subscribe(String is_subscribe) {
        this.is_subscribe = is_subscribe;
    }

    public String getSub_open_id() {
        return this.sub_open_id;
    }

    public void setSub_open_id(String sub_open_id) {
        this.sub_open_id = sub_open_id;
    }

    public String getSub_is_subscribe() {
        return this.sub_is_subscribe;
    }

    public void setSub_is_subscribe(String sub_is_subscribe) {
        this.sub_is_subscribe = sub_is_subscribe;
    }

    public String getApp_id() {
        return this.app_id;
    }

    public void setApp_id(String app_id) {
        this.app_id = app_id;
    }

    public String getSub_app_id() {
        return this.sub_app_id;
    }

    public void setSub_app_id(String sub_app_id) {
        this.sub_app_id = sub_app_id;
    }

    public String getMch_id() {
        return this.mch_id;
    }

    public void setMch_id(String mch_id) {
        this.mch_id = mch_id;
    }

    public String getSub_mch_id() {
        return this.sub_mch_id;
    }

    public void setSub_mch_id(String sub_mch_id) {
        this.sub_mch_id = sub_mch_id;
    }

    public String getOut_trade_no() {
        return this.out_trade_no;
    }

    public void setOut_trade_no(String out_trade_no) {
        this.out_trade_no = out_trade_no;
    }

    public String getTransaction_id() {
        return this.transaction_id;
    }

    public void setTransaction_id(String transaction_id) {
        this.transaction_id = transaction_id;
    }

    public String getTrade_type() {
        return this.trade_type;
    }

    public void setTrade_type(String trade_type) {
        this.trade_type = trade_type;
    }

    public String getTrade_state() {
        return this.trade_state;
    }

    public void setTrade_state(String trade_state) {
        this.trade_state = trade_state;
    }

    public String getTrade_state_desc() {
        return this.trade_state_desc;
    }

    public void setTrade_state_desc(String trade_state_desc) {
        this.trade_state_desc = trade_state_desc;
    }

    public String getBank_type() {
        return this.bank_type;
    }

    public void setBank_type(String bank_type) {
        this.bank_type = bank_type;
    }

    public String getAttach() {
        return this.attach;
    }

    public void setAttach(String attach) {
        this.attach = attach;
    }

    public Integer getTotal_fee() {
        return this.total_fee;
    }

    public void setTotal_fee(Integer total_fee) {
        this.total_fee = total_fee;
    }

    public String getFee_type() {
        return this.fee_type;
    }

    public void setFee_type(String fee_type) {
        this.fee_type = fee_type;
    }

    public Integer getCash_fee() {
        return this.cash_fee;
    }

    public void setCash_fee(Integer cash_fee) {
        this.cash_fee = cash_fee;
    }

    public String getCash_fee_type() {
        return this.cash_fee_type;
    }

    public void setCash_fee_type(String cash_fee_type) {
        this.cash_fee_type = cash_fee_type;
    }

    public Integer getSettlement_total_fee() {
        return this.settlement_total_fee;
    }

    public void setSettlement_total_fee(Integer settlement_total_fee) {
        this.settlement_total_fee = settlement_total_fee;
    }

    public Integer getCoupon_fee() {
        return this.coupon_fee;
    }

    public void setCoupon_fee(Integer coupon_fee) {
        this.coupon_fee = coupon_fee;
    }

    public Integer getCoupon_count() {
        return this.coupon_count;
    }

    public void setCoupon_count(Integer coupon_count) {
        this.coupon_count = coupon_count;
    }

    public String getCoupon_list_json() {
        return this.coupon_list_json;
    }

    public void setCoupon_list_json(String coupon_list_json) {
        this.coupon_list_json = coupon_list_json;
    }

    public String getPromotion_detail() {
        return this.promotion_detail;
    }

    public void setPromotion_detail(String promotion_detail) {
        this.promotion_detail = promotion_detail;
    }

    public String getPrepay_id() {
        return this.prepay_id;
    }

    public void setPrepay_id(String prepay_id) {
        this.prepay_id = prepay_id;
    }

    public Date getPaid_date() {
        return this.paid_date;
    }

    public void setPaid_date(Date paid_date) {
        this.paid_date = paid_date;
    }

    public String getTime_end() {
        return this.time_end;
    }

    public void setTime_end(String time_end) {
        this.time_end = time_end;
    }

    public String getRate_value() {
        return this.rate_value;
    }

    public void setRate_value(String rate_value) {
        this.rate_value = rate_value;
    }

    public String getNonce_str() {
        return this.nonce_str;
    }

    public void setNonce_str(String nonce_str) {
        this.nonce_str = nonce_str;
    }

    public String getSign_type() {
        return this.sign_type;
    }

    public void setSign_type(String sign_type) {
        this.sign_type = sign_type;
    }

    public String getSign() {
        return this.sign;
    }

    public void setSign(String sign) {
        this.sign = sign;
    }

    public String getDevice_info() {
        return this.device_info;
    }

    public void setDevice_info(String device_info) {
        this.device_info = device_info;
    }

    public String getUrl() {
        return this.url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public String getResult_code() {
        return this.result_code;
    }

    public void setResult_code(String result_code) {
        this.result_code = result_code;
    }

    public String getReturn_code() {
        return this.return_code;
    }

    public void setReturn_code(String return_code) {
        this.return_code = return_code;
    }

    public String getReturn_msg() {
        return this.return_msg;
    }

    public void setReturn_msg(String return_msg) {
        this.return_msg = return_msg;
    }

    public String getErr_code() {
        return this.err_code;
    }

    public void setErr_code(String err_code) {
        this.err_code = err_code;
    }

    public String getErr_code_des() {
        return this.err_code_des;
    }

    public void setErr_code_des(String err_code_des) {
        this.err_code_des = err_code_des;
    }

    public Integer getHook_update() {
        return this.hook_update;
    }

    public void setHook_update(Integer hook_update) {
        this.hook_update = hook_update;
    }

    public Integer getIs_reconciliation() {
        return this.is_reconciliation;
    }

    public void setIs_reconciliation(Integer is_reconciliation) {
        this.is_reconciliation = is_reconciliation;
    }


}
